Crate epaint[][src]

Expand description

A simple 2D graphics library for turning simple 2D shapes and text into textured triangles.

Made for egui.

Create some Shape:s and pass them to tessellate_shapes to generate Mesh:es that you can then paint using some graphics API of your choice (e.g. OpenGL).

Re-exports

pub use color::Color32;
pub use color::Rgba;
pub use stats::PaintStats;
pub use tessellator::tessellate_shapes;
pub use tessellator::TessellationOptions;
pub use tessellator::Tessellator;
pub use ahash;
pub use emath;

Modules

Color conversions and types.

Helper module that wraps some Mutex types with different implementations.

Collect statistics about what is being painted.

Converts graphics primitives into textured triangles.

Everything related to text, fonts, text layout, cursors etc.

Macros

An assert that is only active when epaint is compiled with the extra_asserts feature or with the extra_debug_asserts feature in debug builds.

Structs

How to paint a circle.

A Mesh within a clip rectangle.

A Shape within a clip rectangle.

The collection of fonts used by epaint.

Text that has been layed out, ready for painting.

Textured triangles in two dimensions.

A version of Mesh that uses 16-bit indices.

A path which can be stroked and/or filled (if closed).

A position on screen.

A rectangular region of space.

How to paint a rectangle.

The color and fuzziness of a fuzzy shape. Can be used for a rectangular shadow with a soft penumbra.

Describes the width and color of a line.

How to paint some text on screen.

An 8-bit texture containing font data.

Contains font data in an atlas, where each character occupied a small rectangle.

A vector has a direction and length. A Vec2 is often used to represent a size.

The 2D vertex type.

Enums

A paint primitive such as a circle or a piece of text. Coordinates are all screen space points (not physical pixels).

One of a few categories of styles of text, e.g. body, button or heading.

What texture to use in a Mesh mesh.

Constants

The UV coordinate of a white region of the texture mesh. The default egui texture has the top-left corner pixel fully white. You need need use a clamping texture sampler for this to work (so it doesn’t do bilinear blending with bottom right corner).

Functions

pos2(x,y) == Pos2::new(x, y)

vec2(x,y) == Vec2::new(x, y)